iT邦幫忙

2022 iThome 鐵人賽

DAY 7
1
Software Development

QA工程師的美麗與哀愁系列 第 7

第六卷 - 作為軟體開發保命符的回歸測試(Regression Test)

  • 分享至 

  • xImage
  •  

「Release前記得要跑Regression啊」

「新版改動的Regression預計要跑多久?」

「這個case有點急,上線前要請QA team幫忙跑Regression」

我一開始遇到的專有名詞就是Regression這個詞,完全不懂是什麼意思。

以下簡單說明什麼是回歸測試(Regression Test)


回歸測試(Regression Test)

回歸測試要測的就是:「確保新功能的加入,不會影響既有的舊功能。」

我們用上一篇的雲端記帳服務做為範例,加入的新功能是比特幣的幣種支援

既有的舊功能像是台幣美金的收支紀錄與資產總覽的儀表版。

回歸測試的範圍就是加入比特幣記帳後,台幣美金的收支與資產總覽的功能正常。


而回歸測試的重點就是要建立團隊成員對產品品質的信心程度

讓大家心裡都有:「嗯,這個東西明天就上Production沒什麼問題。」的底氣

但問題就來了,信心程度非常難用量化表示,要怎麼說服團隊品質是沒問題的?

很直覺來想,就是要在測試計畫裡要清楚說明:

「新功能OK跟舊功能也OK的測試覆蓋率」

但實際上測試計畫細節很多講起來落落長,當你把所有測試內容都講完一遍

一個測試審查會議加上團隊反饋與修改,會議很容易就開到兩小時以上甚至開兩場

要怎麼讓測試計畫簡單易懂,我覺得最好用的招就是設定測試優先度。


測試優先度 (Test Priority)

測試優先度的概念其實已經包含在測試策略三大原則裡面。

也就是說「測什麼」跟「可以測多久」,可以決定你怎麼設定這次測試的優先度。

而常用的優先度(Priority)分級可以從P1~P3,也有人用到P4、P5。

數字越小代表這個測試項目的優先度越高,所以P1就是最優先,P3就是普通


讓我們再用上面的記帳軟體來做實際的規劃:

新增的幣種支援由於是一個新功能,它的測試優先度就會是P1

而針對這次新增功能所要跑的回歸測試,主要分為兩塊:

    1. 台幣美金的收支明細
    1. 資產總覽的儀表板

第一項,針對原本幣種的收支明細,我會把測試優先度設定為P2

原因是新增的功能是支援新幣種,邏輯上(應該)不會動到原本幣種的記帳功能

而第二項,資產總覽的儀表板,我會把測試優先度設定為P1

原因是儀表板會包含既有幣種加上新幣種的介面顯示,從數字加總到圖表呈現

都有可能因為新加入的邏輯改動而有所影響。


當我們有了一個這樣簡單的規劃,我們就可以在測試計畫審查會議中說:

「P1測試項目排在優先測試的原因是OOO,P2項目的原因是XXX,
這次測試我們會先以P1項目為優先測試,與在時間內跑完P2項目。
如果遇到問題的時候,也可以針對項目優先度請RD去修正後驗證。」

比起沒有做優先度設定的狀況可能變成:

「我這次要測試功能A,然後還有時間就把一些舊的功能順手測一測。
還有一些可能遇到的問題,再花一點時間把case敲一敲。」

兩者的差異性應該能明顯感覺得出來吧?(有誇飾嫌疑XD)


而在回歸測試中,你更需要藉由訂出優先度來切出測試的範圍

因為像上面我舉的例子是個簡化的例子,實際產品都可能複雜很多

回歸測試的範圍根據修改範圍可大可小,透過對產品功能間的關聯性的瞭解程度

才能很好的切出一個可以說服自己跟團隊,且能在期限內執行完成的回歸測試。


篇幅關係,為什麼回歸測試會被稱為保命符,

留待下一篇來聊聊 Bug(程式臭蟲)


上一篇
第五卷 - 掌握好測試策略三大原則,設計出優質的QA測試計畫
下一篇
第七卷 - 嚴重不緊急的Bug要先修,還是緊急不嚴重的Request要先上?
系列文
QA工程師的美麗與哀愁30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言